#ifndef _WINDOW_H_
#define _WINDOW_H_

/// <summary>
/// Globals
/// </summary>
typedef struct _Rectangle
{
	int left;
	int top;
	int right;
	int bottom;

} Rectangle, *RectanglePtr;

/// <summary>
/// Globals
/// </summary>
typedef struct _RectangleF
{
	float left;
	float top;
	float width;
	float height;

} RectangleF, *RectangleFPtr;

/// <summary>
/// TODO
/// </summary>
typedef struct _Screen
{
	int left;
	int top;
	int width;
	int height;
	int bpp;
	void* data;

} Screen, *ScreenPtr;

/// <summary>
/// Globals
/// </summary>
typedef struct _Window
{
	int left;
	int top;
	int width;
	int height;
	int state;
	Rectangle frame;
	SurfacePtr surface;
	float alpha;

} Window, *WindowPtr;


/// <summary>
/// TODO
/// </summary>
extern int CreateWindowByMessage(MessagePtr msg);
extern int ShowWindow(MessagePtr msg);
extern int HideWindow(MessagePtr msg);
extern int MoveWindow(MessagePtr msg);
extern int DestroyWindow(MessagePtr msg);

#endif